/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projovem.relatorios.sintesesupervisao;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.Locale;
import javax.persistence.EntityManagerFactory;
import projovem.dao.NucleoDAO;
import projovem.relatorios.sintesesupervisao.vo.Rotina002PerfilEducadoresSinteseSupervisaoVo;
import projovem.rotinas.R002.Rotina002PerfilEducadores;

/**
 *
 * @author admprojovem
 */
public class SinteseSupervisaoRotina002PerfilEducadores implements Serializable {

    private NucleoDAO nucleoDao = new NucleoDAO();
    private Rotina002PerfilEducadoresSinteseSupervisaoVo contagem = new Rotina002PerfilEducadoresSinteseSupervisaoVo();

    public Rotina002PerfilEducadoresSinteseSupervisaoVo gerarRelatorio(String coordenacaoEscolhida, String entradaEscolhida, String municipioEscolhida, EntityManagerFactory emf) {

        List<Rotina002PerfilEducadores> listaRotina002PerfilEducadores = nucleoDao.obtemNucleosByCoordenacaoAndEntradaAndRotina002PerfilEducadores(coordenacaoEscolhida, entradaEscolhida, municipioEscolhida, emf);
        contagem.setListaRotina002PerfilEducadores(listaRotina002PerfilEducadores);

        for (Rotina002PerfilEducadores rotina : listaRotina002PerfilEducadores) {

            if (rotina.getQ4() != null && rotina.getQ4().equals("fundamental")) {
                contagem.setQ4a(contagem.getQ4a() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("medio/tecnico")) {
                contagem.setQ4b(contagem.getQ4b() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("medio/magisterio")) {
                contagem.setQ4c(contagem.getQ4c() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("superiorIncompleto")) {
                contagem.setQ4d(contagem.getQ4d() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("superiorCompletoTecnologico")) {
                contagem.setQ4e(contagem.getQ4e() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("superiorCompletoLicenciatura")) {
                contagem.setQ4f(contagem.getQ4f() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("superiorCompletoBacharelado")) {
                contagem.setQ4g(contagem.getQ4g() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("latoSensu")) {
                contagem.setQ4h(contagem.getQ4h() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("Mestrado")) {
                contagem.setQ4i(contagem.getQ4i() + 1);
                contagem.setPositivo(contagem.getPositivo() + 1);
            }
            if (rotina.getQ4() != null && rotina.getQ4().equals("Doutorado")) {
                contagem.setQ4j(contagem.getQ4j() + 1);
                contagem.setPositivo(contagem.getPositivo() + 1);
            }

            if (rotina.getQ6() != null && rotina.getQ6().equals("NaoConcluí")) {
                contagem.setQ6a(contagem.getQ6a() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Tecnologo")) {
                contagem.setQ6b(contagem.getQ6b() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Educacao")) {
                contagem.setQ6c(contagem.getQ6c() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Letras")) {
                contagem.setQ6d(contagem.getQ6d() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Humanas")) {
                contagem.setQ6e(contagem.getQ6e() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Exatas")) {
                contagem.setQ6f(contagem.getQ6f() + 1);
            }
            if (rotina.getQ6() != null && rotina.getQ6().equals("Biologicas")) {
                contagem.setQ6g(contagem.getQ6g() + 1);
            }

            if (rotina.getQ9SoftwaresTexto() != null && rotina.getQ9SoftwaresTexto().equals("naoSei")) {
                contagem.setQ9aa(contagem.getQ9aa() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ9SoftwaresTexto() != null && rotina.getQ9SoftwaresTexto().equals("basico")) {
                contagem.setQ9ab(contagem.getQ9ab() + 1);
            }
            if (rotina.getQ9SoftwaresTexto() != null && rotina.getQ9SoftwaresTexto().equals("avancado")) {
                contagem.setQ9ac(contagem.getQ9ac() + 1);
                contagem.setPositivo(contagem.getPositivo() + 1);
            }

            if (rotina.getQ9ConfeccaoPlanilhas() != null && rotina.getQ9ConfeccaoPlanilhas().equals("naoSei")) {
                contagem.setQ9ba(contagem.getQ9ba() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ9ConfeccaoPlanilhas() != null && rotina.getQ9ConfeccaoPlanilhas().equals("basico")) {
                contagem.setQ9bb(contagem.getQ9bb() + 1);
            }
            if (rotina.getQ9ConfeccaoPlanilhas() != null && rotina.getQ9ConfeccaoPlanilhas().equals("avancado")) {
                contagem.setQ9bc(contagem.getQ9bc() + 1);
                contagem.setPositivo(contagem.getPositivo() + 1);
            }

            if (rotina.getQ9Internet() != null && rotina.getQ9Internet().equals("naoSei")) {
                contagem.setQ9ca(contagem.getQ9ca() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
            if (rotina.getQ9Internet() != null && rotina.getQ9Internet().equals("basico")) {
                contagem.setQ9cb(contagem.getQ9cb() + 1);
            }
            if (rotina.getQ9Internet() != null && rotina.getQ9Internet().equals("avancado")) {
                contagem.setQ9cc(contagem.getQ9cc() + 1);
                contagem.setPositivo(contagem.getPositivo() + 1);
            }

            if (rotina.getQ13a() != null && rotina.getQ13a().equals("Sim")) {
                contagem.setQ13asim(contagem.getQ13asim() + 1);
            }
            if (rotina.getQ13a() != null && rotina.getQ13a().equals("Nao")) {
                contagem.setQ13anao(contagem.getQ13anao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ13b() != null && rotina.getQ13b().equals("Sim")) {
                contagem.setQ13bsim(contagem.getQ13bsim() + 1);
            }
            if (rotina.getQ13b() != null && rotina.getQ13b().equals("Nao")) {
                contagem.setQ13bnao(contagem.getQ13bnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ13c() != null && rotina.getQ13c().equals("Sim")) {
                contagem.setQ13csim(contagem.getQ13csim() + 1);
            }
            if (rotina.getQ13c() != null && rotina.getQ13c().equals("Nao")) {
                contagem.setQ13cnao(contagem.getQ13cnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ13d() != null && rotina.getQ13d().equals("Sim")) {
                contagem.setQ13dsim(contagem.getQ13dsim() + 1);
            }
            if (rotina.getQ13d() != null && rotina.getQ13d().equals("Nao")) {
                contagem.setQ13dnao(contagem.getQ13dnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ13e() != null && rotina.getQ13e().equals("Sim")) {
                contagem.setQ13esim(contagem.getQ13esim() + 1);
            }
            if (rotina.getQ13e() != null && rotina.getQ13e().equals("Nao")) {
                contagem.setQ13enao(contagem.getQ13enao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14a() != null && rotina.getQ14a().equals("Sim")) {
                contagem.setQ14asim(contagem.getQ14asim() + 1);
            }
            if (rotina.getQ14a() != null && rotina.getQ14a().equals("Nao")) {
                contagem.setQ14anao(contagem.getQ14anao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14b() != null && rotina.getQ14b().equals("Sim")) {
                contagem.setQ14bsim(contagem.getQ14bsim() + 1);
            }
            if (rotina.getQ14b() != null && rotina.getQ14b().equals("Nao")) {
                contagem.setQ14bnao(contagem.getQ14bnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14c() != null && rotina.getQ14c().equals("Sim")) {
                contagem.setQ14csim(contagem.getQ14csim() + 1);
            }
            if (rotina.getQ14c() != null && rotina.getQ14c().equals("Nao")) {
                contagem.setQ14cnao(contagem.getQ14cnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14d() != null && rotina.getQ14d().equals("Sim")) {
                contagem.setQ14dsim(contagem.getQ14dsim() + 1);
            }
            if (rotina.getQ14d() != null && rotina.getQ14d().equals("Nao")) {
                contagem.setQ14dnao(contagem.getQ14dnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14e() != null && rotina.getQ14e().equals("Sim")) {
                contagem.setQ14esim(contagem.getQ14esim() + 1);
            }
            if (rotina.getQ14e() != null && rotina.getQ14e().equals("Nao")) {
                contagem.setQ14enao(contagem.getQ14enao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14f() != null && rotina.getQ14f().equals("Sim")) {
                contagem.setQ14fsim(contagem.getQ14fsim() + 1);
            }
            if (rotina.getQ14f() != null && rotina.getQ14f().equals("Nao")) {
                contagem.setQ14fnao(contagem.getQ14fnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14g() != null && rotina.getQ14g().equals("Sim")) {
                contagem.setQ14gsim(contagem.getQ14gsim() + 1);
            }
            if (rotina.getQ14g() != null && rotina.getQ14g().equals("Nao")) {
                contagem.setQ14gnao(contagem.getQ14gnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }

            if (rotina.getQ14h() != null && rotina.getQ14h().equals("Sim")) {
                contagem.setQ14hsim(contagem.getQ14hsim() + 1);
            }
            if (rotina.getQ14h() != null && rotina.getQ14h().equals("Nao")) {
                contagem.setQ14hnao(contagem.getQ14hnao() + 1);
                contagem.setNegativo(contagem.getNegativo() + 1);
            }
        }

        Integer totalElementos = listaRotina002PerfilEducadores.size();

        if (contagem.getQ4a() != null && contagem.getQ4a() != 0) {
            contagem.setQ4a((contagem.getQ4a() * 100) / totalElementos);
        }
        if (contagem.getQ4b() != null && contagem.getQ4b() != 0) {
            contagem.setQ4b((contagem.getQ4b() * 100) / totalElementos);
        }
        if (contagem.getQ4c() != null && contagem.getQ4c() != 0) {
            contagem.setQ4c((contagem.getQ4c() * 100) / totalElementos);
        }
        if (contagem.getQ4d() != null && contagem.getQ4d() != 0) {
            contagem.setQ4d((contagem.getQ4d() * 100) / totalElementos);
        }
        if (contagem.getQ4e() != null && contagem.getQ4e() != 0) {
            contagem.setQ4e((contagem.getQ4e() * 100) / totalElementos);
        }
        if (contagem.getQ4f() != null && contagem.getQ4f() != 0) {
            contagem.setQ4f((contagem.getQ4f() * 100) / totalElementos);
        }
        if (contagem.getQ4g() != null && contagem.getQ4g() != 0) {
            contagem.setQ4g((contagem.getQ4g() * 100) / totalElementos);
        }
        if (contagem.getQ4h() != null && contagem.getQ4h() != 0) {
            contagem.setQ4h((contagem.getQ4h() * 100) / totalElementos);
        }
        if (contagem.getQ4i() != null && contagem.getQ4i() != 0) {
            contagem.setQ4i((contagem.getQ4i() * 100) / totalElementos);
        }
        if (contagem.getQ4j() != null && contagem.getQ4j() != 0) {
            contagem.setQ4j((contagem.getQ4j() * 100) / totalElementos);
        }

        if (contagem.getQ6a() != null && contagem.getQ6a() != 0) {
            contagem.setQ6a((contagem.getQ6a() * 100) / totalElementos);
        }
        if (contagem.getQ6b() != null && contagem.getQ6b() != 0) {
            contagem.setQ6b((contagem.getQ6b() * 100) / totalElementos);
        }
        if (contagem.getQ6c() != null && contagem.getQ6c() != 0) {
            contagem.setQ6c((contagem.getQ6c() * 100) / totalElementos);
        }
        if (contagem.getQ6d() != null && contagem.getQ6d() != 0) {
            contagem.setQ6d((contagem.getQ6d() * 100) / totalElementos);
        }
        if (contagem.getQ6e() != null && contagem.getQ6e() != 0) {
            contagem.setQ6e((contagem.getQ6e() * 100) / totalElementos);
        }
        if (contagem.getQ6f() != null && contagem.getQ6f() != 0) {
            contagem.setQ6f((contagem.getQ6f() * 100) / totalElementos);
        }
        if (contagem.getQ6g() != null && contagem.getQ6g() != 0) {
            contagem.setQ6g((contagem.getQ6g() * 100) / totalElementos);
        }

        if (contagem.getQ9aa() != null && contagem.getQ9aa() != 0) {
            contagem.setQ9aa((contagem.getQ9aa() * 100) / totalElementos);
        }
        if (contagem.getQ9ab() != null && contagem.getQ9ab() != 0) {
            contagem.setQ9ab((contagem.getQ9ab() * 100) / totalElementos);
        }
        if (contagem.getQ9ac() != null && contagem.getQ9ac() != 0) {
            contagem.setQ9ac((contagem.getQ9ac() * 100) / totalElementos);
        }

        if (contagem.getQ9ba() != null && contagem.getQ9ba() != 0) {
            contagem.setQ9ba((contagem.getQ9ba() * 100) / totalElementos);
        }
        if (contagem.getQ9bb() != null && contagem.getQ9bb() != 0) {
            contagem.setQ9bb((contagem.getQ9bb() * 100) / totalElementos);
        }
        if (contagem.getQ9bc() != null && contagem.getQ9bc() != 0) {
            contagem.setQ9bc((contagem.getQ9bc() * 100) / totalElementos);
        }

        if (contagem.getQ9ca() != null && contagem.getQ9ca() != 0) {
            contagem.setQ9ca((contagem.getQ9ca() * 100) / totalElementos);
        }
        if (contagem.getQ9cb() != null && contagem.getQ9cb() != 0) {
            contagem.setQ9cb((contagem.getQ9cb() * 100) / totalElementos);
        }
        if (contagem.getQ9cc() != null && contagem.getQ9cc() != 0) {
            contagem.setQ9cc((contagem.getQ9cc() * 100) / totalElementos);
        }

        if (contagem.getQ13asim() != null && contagem.getQ13asim() != 0) {
            contagem.setQ13asim((contagem.getQ13asim() * 100) / totalElementos);
        }
        if (contagem.getQ13anao() != null && contagem.getQ13anao() != 0) {
            contagem.setQ13anao((contagem.getQ13anao() * 100) / totalElementos);
        }

        if (contagem.getQ13bsim() != null && contagem.getQ13bsim() != 0) {
            contagem.setQ13bsim((contagem.getQ13bsim() * 100) / totalElementos);
        }
        if (contagem.getQ13bnao() != null && contagem.getQ13bnao() != 0) {
            contagem.setQ13bnao((contagem.getQ13bnao() * 100) / totalElementos);
        }

        if (contagem.getQ13csim() != null && contagem.getQ13csim() != 0) {
            contagem.setQ13csim((contagem.getQ13csim() * 100) / totalElementos);
        }
        if (contagem.getQ13cnao() != null && contagem.getQ13cnao() != 0) {
            contagem.setQ13cnao((contagem.getQ13cnao() * 100) / totalElementos);
        }

        if (contagem.getQ13dsim() != null && contagem.getQ13dsim() != 0) {
            contagem.setQ13dsim((contagem.getQ13dsim() * 100) / totalElementos);
        }
        if (contagem.getQ13dnao() != null && contagem.getQ13dnao() != 0) {
            contagem.setQ13dnao((contagem.getQ13dnao() * 100) / totalElementos);
        }

        if (contagem.getQ13esim() != null && contagem.getQ13esim() != 0) {
            contagem.setQ13esim((contagem.getQ13esim() * 100) / totalElementos);
        }
        if (contagem.getQ13enao() != null && contagem.getQ13enao() != 0) {
            contagem.setQ13enao((contagem.getQ13enao() * 100) / totalElementos);
        }

        if (contagem.getQ14asim() != null && contagem.getQ14asim() != 0) {
            contagem.setQ14asim((contagem.getQ14asim() * 100) / totalElementos);
        }
        if (contagem.getQ14anao() != null && contagem.getQ14anao() != 0) {
            contagem.setQ14anao((contagem.getQ14anao() * 100) / totalElementos);
        }

        if (contagem.getQ14bsim() != null && contagem.getQ14bsim() != 0) {
            contagem.setQ14bsim((contagem.getQ14bsim() * 100) / totalElementos);
        }
        if (contagem.getQ14bnao() != null && contagem.getQ14bnao() != 0) {
            contagem.setQ14bnao((contagem.getQ14bnao() * 100) / totalElementos);
        }

        if (contagem.getQ14csim() != null && contagem.getQ14csim() != 0) {
            contagem.setQ14csim((contagem.getQ14csim() * 100) / totalElementos);
        }
        if (contagem.getQ14cnao() != null && contagem.getQ14cnao() != 0) {
            contagem.setQ14cnao((contagem.getQ14cnao() * 100) / totalElementos);
        }

        if (contagem.getQ14dsim() != null && contagem.getQ14dsim() != 0) {
            contagem.setQ14dsim((contagem.getQ14dsim() * 100) / totalElementos);
        }
        if (contagem.getQ14dnao() != null && contagem.getQ14dnao() != 0) {
            contagem.setQ14dnao((contagem.getQ14dnao() * 100) / totalElementos);
        }

        if (contagem.getQ14esim() != null && contagem.getQ14esim() != 0) {
            contagem.setQ14esim((contagem.getQ14esim() * 100) / totalElementos);
        }
        if (contagem.getQ14enao() != null && contagem.getQ14enao() != 0) {
            contagem.setQ14enao((contagem.getQ14enao() * 100) / totalElementos);
        }

        if (contagem.getQ14fsim() != null && contagem.getQ14fsim() != 0) {
            contagem.setQ14fsim((contagem.getQ14fsim() * 100) / totalElementos);
        }
        if (contagem.getQ14fnao() != null && contagem.getQ14fnao() != 0) {
            contagem.setQ14fnao((contagem.getQ14fnao() * 100) / totalElementos);
        }

        if (contagem.getQ14gsim() != null && contagem.getQ14gsim() != 0) {
            contagem.setQ14gsim((contagem.getQ14gsim() * 100) / totalElementos);
        }
        if (contagem.getQ14gnao() != null && contagem.getQ14gnao() != 0) {
            contagem.setQ14gnao((contagem.getQ14gnao() * 100) / totalElementos);
        }

        if (contagem.getQ14hsim() != null && contagem.getQ14hsim() != 0) {
            contagem.setQ14hsim((contagem.getQ14hsim() * 100) / totalElementos);
        }
        if (contagem.getQ14hnao() != null && contagem.getQ14hnao() != 0) {
            contagem.setQ14hnao((contagem.getQ14hnao() * 100) / totalElementos);
        }
        Locale locale = new Locale("pt", "BR");
        GregorianCalendar calendar = new GregorianCalendar();
        SimpleDateFormat formatador = new SimpleDateFormat("dd' de 'MMMMM' de 'yyyy' - 'HH':'mm'h'", locale);
        contagem.setDataatual(formatador.format(calendar.getTime()));
        System.out.println(formatador.format(calendar.getTime()));
        return contagem;
    }
}
